import View from "./components/View";
import Link from "./components/Link";
let _Vue;
export function install(Vue, options = {}) {
  _Vue = Vue;
  // 混入
  _Vue.mixin({
    beforeCreate() {
      // 保存this
      const vm = this;
      if (vm.$options.router) {
        vm._routerRoot = vm; // 当前实例挂载_router
        vm._router = vm.$options.router;
        // 将_router响应式
        _Vue.util.defineReactive(vm, "_router", vm._router.current);
        console.log(vm)
      } else {
        // 不存在时 去父级找
        vm._routerRoot = (vm.$parent && vm.$parent._routerRoot) || vm;
      }
    },
  });
  // 在install中可以拿到Vue
  // 实现两个组件
  _Vue.component("RouterView", View);
  _Vue.component("RouterLink", Link);
}
